#ifndef _FBATYPES_H_
#define _FBATYPES_H_

#ifdef _MSC_VER
 typedef signed char int8_t;
 typedef signed short int16_t;
 typedef signed int int32_t;
 typedef signed long long int64_t;
 typedef int64_t intmax_t;
 #if defined(_WIN64)
 typedef int64_t intptr_t;
 #else
 typedef int32_t intptr_t;
 #endif

 typedef unsigned char uint8_t;
 typedef unsigned short uint16_t;
 typedef unsigned int uint32_t;
 typedef unsigned long long uint64_t;
 typedef uint64_t uintmax_t;
 #if defined(_WIN64)
 typedef uint64_t uintptr_t;
 #else
 typedef uint32_t uintptr_t;
 #endif
#else
// __extension__ typedef unsigned long long uint64_t;
// __extension__ typedef signed long long   int64_t;
 #include <stdint.h>
#endif

/* 8-bit values */
typedef uint8_t  UINT8;
typedef int8_t   INT8;

/* 16-bit values */
typedef uint16_t UINT16;
typedef int16_t  INT16;

/* 32-bit values */
typedef uint32_t UINT32;
typedef int32_t  INT32;

/* 64-bit values */
typedef uint64_t UINT64;
typedef int64_t  INT64;

#endif // _FBATYPES_H_
